package com.xz;


import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * @Author：xz
 * @Date：2023/6/25
 */
public class DateTest {

    public static void main(String[] args) {
        // 定义两个日期
//        String date = "2022-09-01 00:00:00";
//        LocalDate date1 = LocalDate.parse(date, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
//        LocalDate date2 =  LocalDate.now();
//        System.out.println(date1);
//        System.out.println(date2);

//        Date date = new Date();
//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//        System.out.println(sdf.format(date));

//
//         计算两个日期之间的天数
//        long daysBetween = ChronoUnit.DAYS.between(date1, date2);
//        long abs = Math.abs(daysBetween);
//        System.out.println("逾期天数: " +abs);

//        double rate = 269 * 1.48/ 100 / 360 ;
//        System.out.println(rate);
//        BigDecimal overdueBj = BigDecimal.valueOf(107350.09);
//        BigDecimal overdueLx = BigDecimal.valueOf(0.148).multiply(overdueBj).multiply(BigDecimal.valueOf(abs))
//                .divide(BigDecimal.valueOf(360),4,BigDecimal.ROUND_HALF_UP);
//        System.out.println(overdueLx);


//        BigDecimal overdueOther = BigDecimal.valueOf(00.00400000).setScale(2, BigDecimal.ROUND_HALF_UP);
//        System.out.println(overdueOther);

//        List<String> list = new ArrayList<>();
//        list.add("123");
//        list.add("asd");
//        list.add("098");
//        for (String s:list) {
//            try {
//                Long.parseLong(s);
//            }catch (Exception ex){
//                list.remove(s);
//            }
//        }
//        List<Long> longStream = list.stream().filter(l -> Long.parseLong(l) instanceof Long).collect(Collectors.toList());
//        System.out.println(list);
//
//        BigDecimal overdueBj = BigDecimal.valueOf(0.01);
//        System.out.println(BigDecimal.ZERO);

//        String date3 = "2023-06-07 00:00:00";
//        String date = date3.split(" ")[0];
//        SimpleDateFormat dtf = new SimpleDateFormat("yyyy-MM-dd");
//        SimpleDateFormat fa = SimpleDateFormat.ofPattern("yyyy-MM-dd");
//        LocalDateTime ldt = LocalDateTime.parse(date3,dtf);
//        LocalDateTime lfa = LocalDateTime.parse(date3,fa);
//        System.out.println(date);

//        BigDecimal overdueBj = BigDecimal.valueOf(12765.54);
//        BigDecimal overdueLx = BigDecimal.valueOf(12765.5460000000);
//        System.out.println(overdueBj.subtract(overdueLx).compareTo(BigDecimal.ZERO));

//        Map<String,String> map = new HashMap<>();
//        map.put("1","111");
//        System.out.println(map.get("2"));

        // 起息日
        String overdueDateStart = "2022-02-24 00:00:00";
        // 结息日
        String overdueDateOver = "2023-07-06";
        LocalDate startDate = LocalDate.parse(overdueDateStart, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        LocalDate overDate = LocalDate.parse(overdueDateOver, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
        System.out.println(startDate+"}}}}}"+overDate);
        long daysBetween = ChronoUnit.DAYS.between(startDate, overDate);
        long abs = Math.abs(daysBetween);
        System.out.println("逾期天数: " +abs);
    }
}
